// 路由配置信息
// 引入路由组件
import Home from '@/pages/Home'
import Search from '@/pages/Search'
import Login from '@/pages/Login'
import Register from '@/pages/Register'
import Detail from '@/pages/Detail'
import AddCartSuccess from '@/pages/AddCartSuccess'
import ShopCart from '@/pages/ShopCart'
import Trade from '@/pages/Trade'
import Pay from '@/pages/Pay'
import PaySuccess from '@/pages/PaySuccess'
import Center from '@/pages/Center'
// 引入二级路由组件
import MyOrder from '@/pages/Center/myOrder'
import GroupOrder from '@/pages/Center/groupOrder'
// 路由配置信息
export default [
    {
        path:"/home",
        component:Home,
        meta:{
            show:true
        }
    },
    {
         //在注册路由的时候,如果这里占位，切记务必要传递params
        path:"/search/:keyword?",
        component:Search,
        //命名路由,给路由起一个名字
        name:"search",
        meta:{
            show:true
        },
        /*
            路由组件传递props数据
                第一种：布尔值,只能传递params参数，props:true
                第二种：对象写法，额外的给路由组件传递一些props,props:{a:1,b:2}
                第三种：函数写法，可以传params参数，query参数，通过props传递给路由组件
                    props:($route)=>{
                        return {
                            keyword:$route.params.keyword,
                            k:$route.query.k
                        }
        }
        */
        
    },
    {
        path:"/login",
        component:Login,
        meta:{
            show:false
        }
    },
    {
        path:"/register",
        component:Register,
        meta:{
            show:false
        }
    },
    {
        path:"/detail/:skuid",
        component:Detail,
        meta:{
            show:true
        }
    },
    {
        path:"/addcartsuccess",
        name:'addcartsuccess',
        component:AddCartSuccess,
        meta:{
            show:true
        }
    },
    {
        path:"/shopcart",
        component:ShopCart,
        meta:{
            show:true
        }
    },
    {
        path:"/trade",
        component:Trade,
        meta:{
            show:true
        },
        // 路由独享守卫
        beforeEnter: (to, from, next) => {
            if(from.path == '/shopcart'){
                next()
            }else{
                // 从其他路由组件中来，就停留在当前页
                next(false)
            }
        }
    },
    {
        path:"/pay",
        component:Pay,
        meta:{
            show:true
        },
        beforeEnter: (to, from, next) => {
            if(from.path=='/trade'){
                next()
            }
        }   
    },
    {
        path:"/paysuccess",
        component:PaySuccess,
        meta:{
            show:true
        }
    },
    {
        path:"/center",
        component:Center,
        meta:{
            show:true
        },
        redirect:'center/myorder',
        // 二级路由组件
        children:[
            {
                path:'myorder',
                component:MyOrder
            },
            {
                path:'grouporder',
                component:GroupOrder
            },
        ]
    },

    /** 重定向
     *  在项目跑起来的时候，访问/ ，立马让他定向到首页
     */
    {
        path:'/',
        redirect:"/home"
    }
]